package com.ruoyi.device.mapper;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;

/**
 * 统计数据Mapper接口
 * 
 * @author ruoyi
 * @date 2025-09-12
 */
@Mapper
public interface StatisticsMapper 
{
    /**
     * 获取概览统计数据
     * 
     * @param params 查询参数
     * @return 概览数据
     */
    Map<String, Object> getOverviewData(Map<String, Object> params);

    /**
     * 获取设备统计列表
     * 
     * @param params 查询参数
     * @return 设备统计列表
     */
    List<Map<String, Object>> getDeviceStatistics(Map<String, Object> params);

    /**
     * 获取连接趋势数据
     * 
     * @param params 查询参数
     * @return 趋势数据
     */
    List<Map<String, Object>> getConnectionTrendData(Map<String, Object> params);

    /**
     * 获取设备状态分布数据
     * 
     * @return 状态分布数据
     */
    List<Map<String, Object>> getDeviceStatusData();

    /**
     * 获取地域分布数据
     * 
     * @param params 查询参数
     * @return 地域分布数据
     */
    List<Map<String, Object>> getRegionData(Map<String, Object> params);

    /**
     * 获取时段分析数据
     * 
     * @param params 查询参数
     * @return 时段分析数据
     */
    List<Map<String, Object>> getHourData(Map<String, Object> params);

    /**
     * 获取设备详细信息
     * 
     * @param params 查询参数
     * @return 设备详细信息
     */
    Map<String, Object> getDeviceDetailInfo(Map<String, Object> params);

    /**
     * 获取设备用户统计
     * 
     * @param params 查询参数
     * @return 用户统计数据
     */
    List<Map<String, Object>> getDeviceUserStats(Map<String, Object> params);
} 